#include "myUdp_Sever.hpp"
void toStringUp(string &str)
{
    auto it = str.begin();
    while (it != str.end())
    {
        if (*it >= 'a' && *it <= 'z')
        {
            *it += 'A' - 'a';
        }
        ++it;
    }
}
string executeCommend(string &commend)
{
    FILE *fp = popen(commend.c_str(), "r");
    if (fp == NULL)
    {
        return "NONE";
    }
    char buf[2048] = {0};
    string result;
    while (fgets(buf, sizeof(buf), fp) != NULL)
    {
        result += buf;
    }
    pclose(fp);
    return result;
}
void Usage()
{
    printf("Uages:\n\tPlease enter:./myUdp_Sever port\n\t./myUdp_Sever\n");
}

int main(int arg, char *args[])
{
    if (arg != 2)
    {
        Usage();
        exit(USAGE_ERR);
    }
    // if (arg == 1)
    // {
    //     unique_ptr<udp_sever> usvr(new udp_sever(executeCommend));
    //    // usvr->Init();
    //     usvr->Start();
    // }
    // else
    // {
    //     uint16_t port = atoi(args[1]);
    //     unique_ptr<udp_sever> usvr(new udp_sever(executeCommend, port));
    //     //usvr->Init();
    //     usvr->Start();
    // }
    uint16_t port = atoi(args[1]);
    unique_ptr<udp_sever> usvr(new udp_sever(port));
    //usvr->Init();
    usvr->Start();

}